package csw;

public class J17StringMath {

	public static void main(String[] args) {
		// String
		// 리터럴로 문자열 객체를 만들때
		// 동일한 문자열값이 존재하면 그 값을 사용
		String a = "Hello";
		String b = "Java";
		String c = "Hello";
		String d = new String("Hello");
		String e = new String("Java");
		String f = new String("Java");
		System.out.println(System.identityHashCode(a));
		System.out.println(System.identityHashCode(b));
		System.out.println(System.identityHashCode(c));
		// new 연산자로 문자열 객체를 만들때
		// 동일한 문자열값이 존재해도 매번 새로생성
		System.out.println(System.identityHashCode(d));
		System.out.println(System.identityHashCode(e));
		System.out.println(System.identityHashCode(f));
		
		

		// String 주요 메서드
		String jumin = "123456-1234567";
		// 1.charAt : 지정한 위치의 문자하나를 추출
		System.out.println(jumin.charAt(7));
		if (jumin.charAt(7) == '1')
			System.out.println("당신은 남성임");
		// 2.substring : 문자열 중 시작위치부터 끝 위치-1 사이의 문자(들) 추출
		System.out.println(jumin.substring(7));
		System.out.println(jumin.substring(0, 2));
		int yourYear = Integer.parseInt(jumin.substring(0, 2));
		System.out.println(14 - yourYear + 1);
		// 3.length : 문자열 길이 출력
		System.out.println(jumin.length());
		// 4.split : 문자열을 구분자로 분리해서 배열에 담음
		String zipcode = "123-456 서울 광진구 자양동 321-456";
		String[] zip = zipcode.split(" ");
		System.out.println(zip[0]);
		System.out.println(zip[1]);
		System.out.println(zip[2]);
		System.out.println(zip[3]);
		System.out.println(zip[4]);
		// 5.replace: 문자열 중 기존 문자열 새로운 문자열로 교체
		String msg = "사랑해요, Java";
		msg.replace("Java", "HTML5");
		System.out.println(msg);
		// 6.indexOf:
		System.out.println(jumin.indexOf('-'));
		// 7.lastIndexOf:
		System.out.println(jumin.indexOf('6'));
		System.out.println(jumin.lastIndexOf('6'));
		// Math 주요 메서드
		// 1.round : 반올림
		System.out.println(Math.round(9.1));
		System.out.println(Math.round(9.7));
		System.out.println(Math.round(-9.1));
		System.out.println(Math.round(-9.7));

		// 2.ceil : 무조건 올림
		System.out.println(Math.ceil(9.1));
		System.out.println(Math.ceil(9.7));
		System.out.println(Math.ceil(-9.1));
		System.out.println(Math.ceil(-9.7));

		// 2.floor : 무조건 내림,버림
		System.out.println(Math.floor(9.1));
		System.out.println(Math.floor(9.7));
		System.out.println(Math.floor(-9.1));
		System.out.println(Math.floor(-9.7));
	}
}
